package com.netas.kekmanager.dao;
import com.netas.kekmanager.dao.model.UserFavorite;
import com.netas.kekmanager.dao.model.UserFavoritePk;
import com.netas.kekmanager.dao.exceptions.UserFavoriteDaoException;
import java.util.List;

public interface UserFavoriteDao
{
	/**
	 * Method 'insert'
	 * 
	 * @param dto
	 * @return UserFavoritePk
	 */
	public UserFavoritePk insert(UserFavorite dto);

	/** 
	 * Updates a single row in the user_favorite table.
	 */
	public void update(UserFavoritePk pk, UserFavorite dto) throws UserFavoriteDaoException;

	/** 
	 * Deletes a single row in the user_favorite table.
	 */
	public void delete(UserFavoritePk pk) throws UserFavoriteDaoException;

	/** 
	 * Returns all rows from the user_favorite table that match the criteria 'id = :id'.
	 */
	public UserFavorite findByPrimaryKey(int id) throws UserFavoriteDaoException;

	/** 
	 * Returns all rows from the user_favorite table that match the criteria ''.
	 */
	public List<UserFavorite> findAll() throws UserFavoriteDaoException;

	/** 
	 * Returns all rows from the user_favorite table that match the criteria 'user_id = :userId'.
	 */
	public List<UserFavorite> findByUser(int userId) throws UserFavoriteDaoException;

	/** 
	 * Returns all rows from the user_favorite table that match the criteria 'web_resource_id = :webResourceId'.
	 */
	public List<UserFavorite> findByWebResource(int webResourceId) throws UserFavoriteDaoException;

	/** 
	 * Returns all rows from the user_favorite table that match the criteria 'id = :id'.
	 */
	public List<UserFavorite> findWhereIdEquals(int id) throws UserFavoriteDaoException;

	/** 
	 * Returns all rows from the user_favorite table that match the criteria 'web_resource_id = :webResourceId'.
	 */
	public List<UserFavorite> findWhereWebResourceIdEquals(int webResourceId) throws UserFavoriteDaoException;

	/** 
	 * Returns all rows from the user_favorite table that match the criteria 'user_id = :userId'.
	 */
	public List<UserFavorite> findWhereUserIdEquals(int userId) throws UserFavoriteDaoException;

	/** 
	 * Returns the rows from the user_favorite table that matches the specified primary-key value.
	 */
	public UserFavorite findByPrimaryKey(UserFavoritePk pk) throws UserFavoriteDaoException;

}
